ProductEditPortlet = Class.extend({
	init: function()	{
		this.name = "ProductEditPortlet";
	},
	
	onBegin: function()	{
		this.registerObserver();
	},
	
	onEnd: function()	{
		this.unregisterObserver();
	},
	
	onEditProductImage: function()	{
		this.requestForEffectiveResource('ImageUploader').submit();
	},
	
	onEditProduct: function()	{
		var name=this.requestForEffectiveResource('Name').val();
		if (name.trim() == '')	{
			alert('Bạn chưa nhập tên sản phẩm');
			return;
		}
		
		var id = this.getRequest().getParam('id');
		
		//RETRIEVE TEXT EDITOR CONTENT
		var subject = SingletonFactory.getInstance(Subject);
		var obj = this;
		subject.notifyEvent('RetrieveTextEditorContent', {id: 'ProductEditPortlet-Description', callback: function(description) {
			var subject = SingletonFactory.getInstance(Subject);
			obj.onAjax('admin', 'edit-product', {name: name, description: description, id: id}, 'POST', {
				'onSuccess': function(ret)	{
					alert('Sửa thành công');
					subject.notifyEvent('RequestRoute', new Request('ManageProducts'));
				}
			});
		}});
	},
	
	run: function()	{
		var obj = this;
		var id = this.getRequest().getParam('id');
		this.onAjax('product', 'load-product-detail', {id: id}, 'GET', {
			'onSuccess': function(ret)	{
				obj.model = ret;
				obj.model.root = SingletonFactory.getInstance(Application).getSystemProperties().get('host.root');
				obj.getPortletPlaceholder().paintCanvas(obj.render());
				
				//TEXT EDITOR TRANSFORMATION
				var subject = SingletonFactory.getInstance(Subject);
				subject.notifyEvent('RenderTextEditor', {id: 'ProductEditPortlet-Description', content: ''});
				
				obj.requestForEffectiveResource('ImageUploader').submit(function() {
					var fr = $('#avatar-upload-frame');
					$(fr).one('load', function() {
						var response = fr.contents().find('body').html();
						$('AvatarUploaderContainer').find('input[type="submit"]').attr('disabled', '');
				    	var ret = $.parseJSON(response);
//				    	$(value).find('#AvatarUploaderErrorPlaceholder').html('');
				    	if (ret.result == "error")	{
//				    		errors = {};
//				    		errors.errors = ret.message; 
//				    		$(value).find('#AvatarUploaderErrorPlaceholder').html(tmpl('AvatarUploaderError', errors));
				    	} else {
				    		alert('Sửa thành công');
//				    		$('#BriefInfoEditPortlet-Avatar').find('img').remove();
//				    		$('#BriefInfoEditPortlet-Avatar').html('<img style="width: 100px" src="avatar/'+ret.result+'" />');
//			    			var subject = SingletonFactory.getInstance(Subject);
//			    			subject.notifyEvent('NotifyGlobal', 'Bạn đã thay đổi avatar thành công. Nếu ảnh chưa hiện ra, hãy ấn F5 để thấy sự thay đổi');
				    	}
					});
				});
			}
		});
	}
}).implement(PortletInterface).implement(RenderInterface).implement(AjaxInterface).implement(ObserverInterface);